package com.common.dao;

import java.util.List;


/**
 * dao层相关的接口共用
 * @author Adminsttrator
 *
 */
public interface MyDao<T> {

	/**
	 * 传入ID获取相关的数据
	 * @param 
	 * @return
	 */
	public List<T> get(String id) ;
	
	/**
	 * 获取相关数据
	 * @param obj
	 * @return
	 */
	public List<T> get(T obj) ;
	
	/**
	 * 获取相关数据
	 * @param obj
	 * @return
	 */
	public T getOne(T obj) ;
	
	/**
	 * 判断存在
	 * @param 
	 * @return
	 */
	public Integer exists(T obj) ;
	
	/**
	 * 判断存在
	 * @param 
	 * @return
	 */
	public Integer exists(String id) ;
	
	/**
	 * 判断存在，返回对象
	 * @param 
	 * @return
	 */
	public T existsData(T obj);
	/**
	 * 查询数据
	 * @param obj
	 * @return
	 */
	public List<T> select(T obj) ;
	
	/**
	 * 查询所以数据
	 * @param obj
	 * @return
	 */
	public List<T> selectAll(T obj) ;
	
	/**
	 * 查询数据总数
	 * @param obj
	 * @return
	 */
	public Integer selectCount(T obj) ;
	
	/**
	 * 数据添加
	 * @param obj
	 * @return
	 */
	public Integer insert(T obj) ;
	
	/**
	 * 修改、更新数据
	 * @param obj
	 * @return
	 */
	public Integer update(T obj) ;
	
	/**
	 * 传入ID删除
	 * @param id
	 * @return
	 */
	public Integer delete(String id) ;
	
	/**
	 * 传入对象删除
	 * @param obj
	 * @return
	 */
	public Integer delete(T obj) ;
	
	/**
	 * 传入数组批量删除
	 * @param list
	 * @return
	 */
	public Integer deleteBatch(List<String> list) ;
	
	/**
	 * 找到数据
	 * @param obj
	 * @return
	 */
	public Integer find(T obj) ;
	
	/**
	 * 找到所有
	 * @param obj
	 * @return
	 */
	public Integer findAll(T obj) ;
	
	
}
